/**
 * @Author Stringzhua
 * @Date 2024/2/2 15:19
 * description:数组的添加
 * 实现动态的给数组添加元素效果,实现对数组的扩容
 * 1.原始数组使用静态分配 int[] arr={1,2,3}
 * 2.增加的元素4,直接放在数组的最后arr={1,2,3,4}
 * arrNew={1,2,3,4}
 * 3.用户可以通过如下方法来决定是否继续添加,添加成功,是否继续?y/n
 */
public class ArrayAdd {
    public static void main(String[] args) {
        /*
        * 思路分析
        * 定义初始数组 int[] arr = {1,2,3}//下标-2
        * 定义一个新的数组 int[] arrNew = new int[arr.length+1];
        * 遍历 arr 数组，依次将arr的元素拷贝到 arrNew数组
        * 将 4 赋给 arrNew[arrNew.length - 1] = 4;把4赋给arrNew最后一个元素
        * 让 arr 指向 arrNew ; arr = arrNew; 那么 原来arr数组就被销毁
        * */
        int[] arr={1,2,3};
        int[] arrNew = new int[arr.length+1];
        for (int i = 0; i < arr.length; i++) {
            arrNew[i]=arr[i];
        }
        arrNew[arrNew.length-1]=4;
        arr=arrNew;

        System.out.println("===新数组===");
        for (int i = 0; i < arr.length; i++) {
            System.out.println("arr = " + arr[i]);
        }
    }
}
